[Xamarin] Firebase Performance Monitoring を導入してみた (Android & iOS)
いろいろ導入してみたので、この流れで Firebase Performance Monitoring も導入してみました!
- [Xamarin.Forms] Firebase Analyticsを導入してみたので、手順をまとめた! (Android & iOS) | Developers.IO
- [Xamarin.Forms] Firebase Crashlytics を導入してみた (Android & iOS) | Developers.IO
目次
環境
- Windows
- Windows 10 Pro
- Visual Studio Community 2019: 16.1.6
- macOS
- macOS Mojave 10.14.5
- Visutal Studio Community 2019 for Mac: 8.1.5
- Xcode: 10.2.1
- Android
- Pixel 3a: Android 9
- iOS
- iPhone 7: iOS 12.2
- Xamarin
- Xamarin: 16.1.0.545
- Xamarin.Android SDK: 9.3.0.23
- Xamarin.iOS and Xamarin.Mac SDK: 12.10.0.157
- Library
- 共通
- Xamarin.Forms: 4.0.0.425677
- Android
- Xamarin.Firebase.Perf: 60.1142.1
- iOS
- Xamarin.Firebase.iOS.PerformanceMonitoring: 2.1.2
Xamarin.Formsアプリの作成とFirebaseプロジェクトの作成
下記で作成したXamarin.FormsアプリとFirebaseプロジェクトを流用します。
- [Xamarin.Forms] Firebase Analyticsを導入してみたので、手順をまとめた! (Android & iOS) | Developers.IO
- [Xamarin.Forms] Firebase Crashlytics を導入してみた (Android & iOS) | Developers.IO
注意
いろいろ実験しましたが、実機のみで動作するみたいです。
Androidでやってみる
Firebase Performance Monitoring の導入
NuGetで下記のライブラリをAndroidプロジェクトに追加します。
- Xamarin.Firebase.Perf
カスタムトレース
newTrace()
メソッドが生えておらず、使用できませんでした……。
メソッドトレース
下記のようにできました。
using Com.Google.Firebase.Perf.Metrics;
が必要です。
[AddTrace(Name = "OnCreateTrace", Enabled = true)] protected override void OnCreate(Bundle savedInstanceState) { }
アプリの実行
ビルドしてアプリを実行します。
ビルドエラー等が発生した場合は、下記を参考にしてください。
- [Xamarin.Forms] Firebase Analyticsを導入してみたので、手順をまとめた! (Android & iOS) | Developers.IO
- [Xamarin.Forms] Firebase Crashlytics を導入してみた (Android & iOS) | Developers.IO
Firebaseプロジェクトのコンソールで確認する
Firebaseプロジェクトで「Performance」を選択します。
どうやらすぐに反映されないようです。 ドキュメント上は12時間以内とのことです。
iOSでやってみる
Firebase Performance Monitoring の導入
NuGetで下記のライブラリをAndroidプロジェクトに追加します。
- Xamarin.Firebase.iOS.PerformanceMonitoring
カスタムトレース
下記のようにできました。
using Firebase.PerformanceMonitoring;
が必要です。
public override bool FinishedLaunching(UIApplication app, NSDictionary options) { // https://github.com/xamarin/GoogleApisForiOSComponents/issues/158#issuecomment-483194061 var foo = Firebase.Core.Configuration.SharedInstance; Firebase.Core.App.Configure(); Firebase.Crashlytics.Crashlytics.Configure(); var trace = Performance.StartTrace("XamarinFormsInitTrace"); global::Xamarin.Forms.Forms.Init(); LoadApplication(new App()); trace.Stop(); return base.FinishedLaunching(app, options); }
メソッドトレース
iOSでは出来ないようです。(Firebase公式ドキュメントに記載が無いため)
アプリの実行
ビルドしてアプリを実行します。
ビルドエラー等が発生した場合は、下記を参考にしてください。
- [Xamarin.Forms] Firebase Analyticsを導入してみたので、手順をまとめた! (Android & iOS) | Developers.IO
- [Xamarin.Forms] Firebase Crashlytics を導入してみた (Android & iOS) | Developers.IO
Firebaseプロジェクトのコンソールで確認する
Androidとおなじく、すぐに反映されないようです。
改めて確認する(後日)
Android
表示されました!
でも、メソッドトレースは表示されないため、結果的に出来ないようです。残念。
iOS
iOSもバッチリです!
カスタムトレースも動いてました!(一番上のXamarinFormsInitTrace
)
さいごに
今までハマりまくったので、今回はスムーズでした。(実機必須、に気づくまでは……)
参考
- 全体
- Android
- iOS
- ほか